約 1,904,625 件
https://w.atwiki.jp/java_pro/pages/70.html
Javaプログラムを実行する際の引数について復習しましょう。 コマンドプロンプトでプログラムのソースコード が置かれているフォルダに移動して。 javac Hogehoge.java と「javac」というコマンドの後にファイル名を指定してあげると コンパイルができます。 コンパイルをすると「Hogehoge.class」のように クラスファイルが同じフォルダに生成されます。 ここで java Hogehoge と「java」というコマンドの後にクラス名を指定してあげると プログラムが実行されます。 コマンドラインの引数(実行時の引数) プログラムを実行する際に、メソッドのように引数を渡すことが できます。 プログラムはmainメソッドから実行されますよね。 public static void main(String[] args) というふうにmainメソッドを宣言すると思いますが、ここの 「args」というString配列にコマンドラインの引数(実行時の引数)が 渡されます。 たとえば、 java Hogehoge moge fuga java のようにプログラムを実行したとすると "moge fuga java"の部分がコマンドラインの引数として渡されます。 これはプログラムで String args[] = {"moge", "fuga", "java"}; と宣言されたような形になります。 なので、この実行時にはargs[0]には"moge"という文字列が入っています。 ※プログラムを実行する際に任意に引数を渡すことができるということなので、 コマンドラインの引数を渡していなければargs[0]などは存在しない。 ※コマンドラインの引数として渡すことが出来るのは文字列のみ ○3級の人向けの課題。 コマンドライン実行時に受け取った引数を番号を付けて順番に 表示するプログラム「ArgsTest01.java」を作りましょう。 例) java ArgsTest01 hogehoge mogemoge fugafuga あなたが入力したのは 1 hogehoge 2 mogemoge 3 fugafuga java ArgsTest01 あなたが入力したのは ※JCPadでコマンドラインの引数を指定して実行する場合理は、 コマンド(C)の右のエリアに直接コマンドを入力しましょう。
https://w.atwiki.jp/javaapl/pages/13.html
オブジェクト指向プログラミング言語であり、Javaのプログラムの実行環境および開発環境をいう。 Javaを実行するために必要な物 ソースコード API(J2EE,J2SE等) コンパイラ Java VM (Java Virtual Machine) API あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に 使用できる命令や関数の集合のこと。また、それらを利用するためのプログラム上の手続きを定めた規約の集合。 ライブラリの仕様(くわしく説明してある物)のこと。 何かの機能のことも「API」という。 J2SE Javaを使うための最も基本的なAPI(関数)の塊 J2EE Web上でJavaを使うためのちょっと高級なAPI(関数)の塊です。 Java Virtual Machine java実行環境(JRE)のこと。Java仮想マシンのこと。 コンパイルされたソースコードを読み込み、実行するために必要な物。
https://w.atwiki.jp/chapati4it/pages/16.html
Java Javaは、サーバサイドによく利用されているプログラム言語です。 最近では、アンドロイドでも利用されています。 Javaサンプル 無名クラスにパラメータを渡す CSVファイルを読み込む Javaの乱数生成 乱数生成の性能 JavaでGMailによるメール送信(JavaMail使用 JavaでZipファイル解凍サンプル(commons-compress使用) JavaでZipファイル圧縮(commons-compress)テキスト一個だけ JavaでZipファイル圧縮(commons-compress)ファイルやディレクトリ指定 スネークケースとキャメルケースの変換 日付、時間を扱うサンプル 処理時間を計測するサンプル 文字列を切り取る substring の使い方 substring使用時のエラーと回避方法??? swingサンプル 基本 ウィンドウを表示するだけのサンプル JButton ボタンをクリックしたらメッセージを表示するサンプル Swingアプリを実行する 画像表示 画像表示(拡大縮小) ポップアップメニュー メニューを作る ファイル選択ダイアログから画像を選択して表示する コンボボックスを使ってみよう エクスプローラからファイルをドロップ ドロップを受け取るサンプル(文字列、ファイル) JListを表示するだけのサンプル JListにアイコンとテキストを表示する JList複数選択、単一選択サンプル JTableにCsvファイルを読み込んで表示 JTableエクスプローラ風サンプル JSliderサンプル JSliderサンプル ボリューム調整みたいなスライダ JSliderサンプル プログラムから操作する時にイベントを発生させない JSliderサンプル ボリューム調整みたいなスライダのUIクラス Zipファイル解凍サンプル JTableに一覧表示、ダブルクリックで画像を表示 MyJCalendar Swingでカレンダー型日付選択ダイアログのサンプル メニュー、タイトルバー、ステータスバー、ツールバーの表示on/off切り替えサンプル tips ウィンドウサイズをiniファイルに保存、復元 JTreeにディレクトリ構造を表示 JTreeとJListで作るエクスプローラ風のサンプル JTreeノード編集、前後の値をチェックする JTableにボタン表示、ボタン押したら行削除 フローレイアウトで強制改行 MP3プレイヤーサンプル(JLayer) MP3プレイヤーサンプル(JLayer,BasicPlayer) MP3のID3を読むサンプル(Java ID3 Tag Library + 文字化け対応) MP3プレイヤーサンプル(JLayer,BasicPlayer,Java ID3 Tag Library)一通りの機能実装 BasicPlayerサンプル(mp3, 音量調整) BasicPlayerサンプル(mp3, シーク, 時間表示) オリジナルのイベントを作ろう 帳票サンプル JasperReports5.0サンプル サンプルの実行 一番簡単なPDF出力 テンプレートにデータソースとパラメータ設定してPDF出力 CSVデータソースからPDF出力 PDFに動的に画像を埋め込み グループ分けと集計 Tomcatサンプル Tomcatメモ Tomcat7.0.37のインストールとeclipseの設定(Windows) サーブレットを作ってみる Tomcat7のインストールとwarファイルのデプロイ(ubunts12.04) warファイルをdotcloudにデプロイ サーブレットからJSPに遷移するサンプル サーブレットからCSVファイルをダウンロードするサンプル サーブレットからCSVファイルをダウンロードするサンプル(日本語ファイル名) サーブレットからファイルをダウンロードするサンプル(日本語ファイル名) Basic認証(UserDatabaseRealm)+DIGEST認証 JFreeChartで動的にグラフを出力するサンプル ファイルをアップロードするサンプル(Commons FileUplaod) クロスサイトスクリプティング脆弱性を体験してみるサンプル
https://w.atwiki.jp/limixp/pages/19.html
Java開発環境のインストールが済んだらさっそくプログラムを書いてみます. 本当にインストールできているかの確認にもなります. Hello World!プログラム プログラムから画面上に「Hello World!」と表示させるプログラムをJavaで作ります. プログラムを書くためにテキストエディタを用意する必要があります。Windows標準のメモ帳(notepad.exe)でも構いません. オススメなテキストエディタはTeraPadやSakura Editorが挙げられます. 仕様は以下の通りとします. クラス名は HelloWorld . 「Hello World!」を標準出力に出力する greetWorld()メソッド. HelloWorldクラスのインスタンスを生成し,greetWorld()メソッドを呼び出すmain()メソッド. public class HelloWorld{ public HelloWorld(){ //コンストラクタ } public void greetWorld(){ System.out.println("Hello World!"); } public static void main(String[] args){ HelloWorld instance = new HelloWorld(); instance.greetWorld(); } } これをHelloWorld.javaというファイル名で保存します. 保存先はC ドライブの直下に java というディレクトリを作成し, C \java\に保存します. 保存後,このプログラムをコンパイル~実行は以下のようにします. コマンドプロンプトを起動します. HelloWorld.javaのファイルがあるディレクトリにcdコマンドで移動します.cd C \java\ HelloWorld.javaをjavacコマンドでコンパイルします.javac HelloWorld.java するとHelloWorld.classというバイトコード(クラスファイル)が生成されます.dirコマンドで確認できます. クラスファイルをjavaコマンドで実行します.java HelloWorld 「Hello World!」と表示された成功です. もしjavacコマンドでエラーが出た場合はソースに誤りがあります. エラーの内容からソースの内容を良く確認し,コンパイルしなおしてください. 以上で最初のJavaプログラムは終わりです. トップページ
https://w.atwiki.jp/n-3104/pages/11.html
とりあえず、Java関係のページ。 以下について、ちょっとずつ記述する予定。 専用ページを設けているコンテンツ WebアプリSpring Seaser Wicket Servlet Ajax DAOiBATIS Hibernate jPersist その他JUnit Eclipse HTMLParser Swing ある日付から日付までの定型処理 メール送信 パッケージ名 前からちょっとしたプログラムを書く際のパッケージ名をどうするか悩んでいたが、パッケージ名を登録できるサイトがあったので、登録してみた。 http //www.java-conf.gr.jp/wg_bof/package/
https://w.atwiki.jp/java_pro/pages/21.html
import java.io.*; public class Break { public static void main(String[] args){ BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { while (true){//無限ループ String line = reader.readLine();//標準入力から一行取得 if (line == null){//nullなら繰返しを抜ける break; } System.out.println(line);//画面に取得した文字列を表示 } System.out.println("終了します。"); } catch (IOException e){ System.out.println(e); } } }
https://w.atwiki.jp/a_kurosawa/pages/15.html
◆Java ◆Java日付の変換 Java SEとかEEとかSDKとかJDSとかJ2SEとかJREとかとか。 EnumクラスをStringにすると、変数の内容消える 自前クラスでのequalsはオーバーライドしないとちゃんと動かない 日付の変換 Date date = DateFormat.getDateInstance().parse(str); getDateInstance()←Date忘れないでね Formatを指定して変換 例えば、Tue, 04 Dec 2012 10 01 05 +0900のような形式。 SimpleDateFormat objFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH mm ss Z", Locale.ENGLISH); Date date = objFormat.parse(str); Local.ENGLISHないとフォーマットできないみたい。 参考 あー、超ハマった。 Java SEとかEEとかSDKとかJDSとかJ2SEとかJREとかとか。 Java SE Java SEとはStandard Editionの略です。 Javaの基本的な関数が入っています。 APIと呼ばれるものです。 例えば、java.lang.Stringとか Java.lang.Systemとかです。 String str = ""; str.equals("あ")とか System.out.print()とか使ったことありませんか? それです。 ちなみにJ2SEというのは、 バージョン1.5(5.0)までの昔の呼び方で、 今はJava SEで統一されているみたいです。 J2の後ろの部分がJava SEのSEの部分なので、 J2EEだったら下のJava EEのこと、 J2MEだったらJava MEと呼ばれるAPIのことです。 Java EE Java EEとはEnterprise Editionの略です。 JavaでWebサイトなどを作る際に必要な関数が入っています。 Servletとかjspの関数などが含まれています。 web.xmlなどをいじってServletクラスを作ったり、 StrutsやSeasarなどのライブラリを使ったことがなければ 縁のない関数かもしれません。 SDK SDKはSoftware Development Kit(ソフトウェア開発キット)の略です。 Javaに関わらずソフトウェアを開発するのに必要なツールが 一式入ってますよというものです。 なのでJavaだと、上で書いたJava SE(Standard Edition)も入っています。 他にはソースを*.classファイルにコンパイル(翻訳)するツール、 作ったアプリケーションを実行する環境などが入っています。 JDK JDKとはJava Development Kit(Java開発キット)の略です。 Javaを開発するのに必要なツールが一式入ってます。 Java専用のSDKということですね。 内容の構成はSDKと同じで、 標準API(Java SE) コンパイラ(*.javaのソースファイルを*.classファイルに翻訳するツール) 実行環境 などが入っています。 JDKはJavaの開発に必要な最低限のツール一式なので、 Java EEは入っていません。 もしかしたらアプレットを作るかもしれませんし、 Webではなく端末上で動くアプリケーションを作るかもしれませんからね。 それらは別途インストールしなければなりません。 補足ですが、JDKのバージョンは1.5、1.6、1.7などありますが、 それらは5.0、6.0、7.0とも呼ばれたりします。 まだ2.0まで行ってないので、1が略されてるみたいですね~。ややこしい。 参考 JRE JREとはJava Runtime Environmentの略です。 上のJDKの項目の実行環境の部分です。 例えば、eclipseなどでアプリケーションを実行する時に必要なツールです。 そのままですが。 コーヒーのマークのたまに更新の通知があがるあのツールです。 このJREにもJava SEやJava EEのように種類があり、 公開JREと非公開JREといいます。 JDKの中に入っているJREは、 JREの中でも基本的なものだけ入っている実行環境です。 これが非公開JREです。 ちなみに非公開JREはJDKの一部というイメージなので、 インストールしたりアンインストールしたりできません。 JDKをアンインストールしたら一緒に消えるという感じです。 更新の通知があがるツールは公開JREです。 参考 EnumクラスをStringにすると、変数の内容消える JavascriptでAjaxでSeasarのActionにアクセスし、 RESULTというEnumを作り、statusとmessageという変数を作成し、 RESULT SUCCESS(0, "成功しました。")のようなのを作って、 返しました。 JavaのEnumの王道の使い方だと思ってたのですが… ResponseUtil.write(JSON.encode(SUCCESS), "text/javascript"); のようにjavascriptに渡すと、 受け取った時に"SUCCESS"というString型になっていて、 statusもmessageもundefinedになります…。。 くそー、JavaのEnumはどう使えっちゅーんだっ 自前クラスでのequalsはオーバーライドしないとちゃんと動かない Javaではクラスは全てObjectを自動的に継承しているので、 equals()を使えるんだが、 そのまま使おうとするとパラメーターが全て一致していても falseが返ってくる。 これはアドレスを見ているからだ。 データが保存されたアドレスはクラスをnewする度に 全く同じインスタンスを比較しないとtrueは返らない。 そこで正しく動作するequals()を実装する為の システムがeclipseには備わっている。 ソースで右クリック→ソース→hashCode() 及び equals() の生成 これを実行するとhashCode()とequals()が自動生成されて 保持しているパラメータが全て一致していればtrueを返す equals()が使えるようになる。 ただし、参考演算子を使っていたり、 if (true) return false; のような括弧を使わないif文などが書かれているので チェックスタイルに引っかかる場合は 自分で直さなくてはいけない。
https://w.atwiki.jp/mekagazira/pages/45.html
メモ テクニック メモ Log4jの設定方法 Log4jの設定ファイルを指定する場合 (1)クラスパスの通ったところに置く (2)-Dlog4j.configuration=urlを使って、Javaオプションで指定 (3)DOMConfiguratorクラスを使って、ロジック中で指定 静的インポート クラスのstaticなメンバー(staticなフィールド、メソッド等)のみをインポート出来る。 →修飾部を省略して利用できる。(Java5から) 例えば) import static java.lang.Math.PI; import static java.lang.Math.sin; class Test { public static void main(String args[]) { System.out.println(sin(PI/2)); } } リテラル 整数リテラル 16進数・・・先頭に0x 8進数・・・先頭に0 long型にする場合は、後ろにLまたはlをつける。 整数型に何もつけないと『int』と解釈される。 浮動小数点リテラル 小数表現に、eまたはEを使う。 例えば) 1e2,1E+2・・・100 1e-2・・・0.01 float型を表現したいときは、後ろにfまたはFをつける。 何もつけないと、『double』型とされる。 ^^^^^^^^ 文字リテラル 引用符「 」で囲む 文字列リテラル 引用符「"」で囲む 単項演算子と代入演算子は、右結合(右から演算が実行) 代入演算子が続いている場合は、オペランドを左から評価した後に、右から代入してゆく。 &&、||、?:以外の演算子に対しては、演算子実行前に左から評価される。 例えば) f1()+f2() f1,f2が実行されてから、+が実行される。 例えば) int i=3; h[i] = i + 5; h[i]がh[3]に評価されてから、代入が行われる。 そのため、結果はh[3]に5が代入される。 剰余演算子 符号がある場合、符号をとって計算し、左オペランドの符号をつける。 例えば) -9%5も-9%-5も、結果は-4 X=Y=Z=3; 右から実行され、それぞれの戻り値は、右辺の値になる。 まず、Z=3が実行され、戻りは、3 「サブクラス instanceof スーパークラス」「インターフェースを実装するクラス instanceof そのインターフェース」 の場合にtrueになる。 インスタンス初期化子 staticのついていない{}で囲まれたブロック オブジェクトが生成されるときに(superの呼出し後に)実行される。 静的初期化子(staticイニシャライザ) クラスのロード時に一度だけ実行される static で宣言されたコードブロックのこと。 継承の話 フィールドは、参照変数が参照するオブジェクトの型ではなく、参照変数の型によって指定される。 呼び出されるインスタントメソッドは(非staticメソッド)は、参照変数の型ではなく、その変数が参照するオブジェクトの型によって決められる。 クラスメソッド(staticメソッド)の場合は、、変数の型で決められる。 「変数.フィールド」は、オブジェクトの型のフィールドではなく、変数の型のフィールドを意味する。(継承の話) インスタンスメソッドを「変数.メソッド」のように呼び出すと、変数が実際に参照するオブジェトの型のメソッドが呼び出される。(継承の話) ちなみにクラスメソッドの場合は、変数の型のメソッドが呼び出される。 可変長引数リストより、引数の数が一致するものの方が優先して、呼び出される。 System.gc();やRuntime.getRuntime().gc();でガーベッジコレクションを促せる。 デバック時に、Javaのシステム日付を変更する。 #JAVAのオプション #必要に応じて上書きする #JVM_OPTS="-Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932" JVM_OPTS="-Dcmpf.constantdate=20121205000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932" #JVM_OPTS="-Dcmpf.constantdate=20121128000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932" テクニック コレクションを配列に変換 String[] a = (String[])l.toArray(new String[0]); //コレクションからStringの配列に変換 [http //www.atmarkit.co.jp/fjava/javatips/080java009.html] 奇数行・偶数行に別々のクラスを追加する方法 logic iterate id="hoge" name="hogeListForm" property="records" indexId="idx" tr %= idx % 2 == 0 ? "class=\"dataEven\"" "class=\" dataOdd\""%
https://w.atwiki.jp/java_pro/pages/34.html
import java.io.*; public class CountSan { public static void main(String[] args){ for (int i = 3; i = 99; i = i + 3){ System.out.println(i); } } }
https://w.atwiki.jp/javaapl/pages/15.html
Javaは例外処理機構を備えており、プログラム実行中に生じた異常(例外)の扱いを、 比較的安全な方法で行い、プログラムを読みやすく記述することができる。 Javaでは簡潔なメモリモデルを採用しており、プログラマがメモリ (主記憶装置) を管理する負担を軽減する。 あらゆるオブジェクトはメモリ内のヒープという領域に割り当てられる。 メモリ管理は、Java仮想マシンに統合された自動ガベージコレクションの機能によって行われる。 従来のオブジェクト指向プログラミング言語である C++ では、ヒープ領域に生成したオブジェクトについて、 もはや必要が無くなった時に破棄する指示を、プログラマが自分で責任をもって行わなければならなかった。 これは、C++ プログラマにとっては負担が大きく複雑で間違えやすい作業であり、 ソフトウェアの安全性・開発効率・保守性を損なう要因だった。 Javaでは自動ガベージコレクションの機能があるため、このようなことは無く、プログラマの負担は大きく軽減される。 Javaのもう一つの特徴はプラットフォームに依存していないことであり、これは Javaのプログラムがさまざまなハードウェアやオペレーティングシステム上で必ず同じように動く、ということを意味する。